package day19.net;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

//表示Socket编程的服务器端
//服务端负责:
// 接收客户端发来的请求
// 给客户端做出响应
//需求: 让客户端发送hello给服务器端
public class Server {
    public static void main(String[] args) throws IOException {
        //1, 启动服务器 --参数是指端口号0~65535
        ServerSocket server = new ServerSocket(8000);
        System.out.println("服务器已启动~~");
        //2, 接收客户端发来的连接请求
        Socket socket = server.accept();
        System.out.println("服务器接收到 一个请求!");
        //3, 读取客户端发来的数据
        InputStream in = socket.getInputStream();
        for (int i = 0; i < 5 ; i++) {
            //read()默认返回的是int值
            int data = in.read();
            //把int转成char
            char c =  (char) data ;
            System.out.print(c);
        }
        //4,获取写出流,给客户端写出数据
        OutputStream out = socket.getOutputStream();
        //getBytes() 用来把hello字符串转成byte[]再用字节流写出
        out.write("world".getBytes());
        out.close();
    }
}
